IOS12+Swift4+Xcode10开发 - 1 摇色子APP

项目介绍

点击按钮或者摇晃手机,两个骰子摇晃改变。

image-20190305161340845

UI设计

image-20190305142241776

IBOutlet和IBAction

Outlet 插座 :定义控件

Action 动作 :控件动作

步骤

control 拖拽

定义控件IBOutlet和动作IBAction

image-20190305142658506

TIPS

改名方式

需要先断开连接,再修改变量名,再建立连接

否则运行时会抛异常:空指针问题

命名方法

文件名 大驼峰

变量名 小驼峰

快捷键

command+R:运行

随机数和数组实现图片

使用数组存储String类型的图片文件名

随机数获取0-5的数字作为数组下标

将功能放进func函数中,代码更改性更强

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//
// ViewController.swift
// Dicee
//
// Created by iris on 2019/3/5.
// Copyright © 2019 IrisWang. All rights reserved.
//

import UIKit

class ViewController: UIViewController {
// 一、随机数
var index1:Int = 0
var index2:Int = 0
// 二、数组
let diceArray = ["dice1","dice2","dice3","dice4","dice5","dice6"]

@IBOutlet weak var diceeImageView1: UIImageView!
@IBOutlet weak var diceeImageView2: UIImageView!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// 初始的数字也是随机的
updateDiceImage()
}
@IBAction func rollButton(_ sender: Any) {
// 更新骰子
updateDiceImage()
}

// 三、函数:将功能放进函数中
// 更新骰子函数
func updateDiceImage(){
// 1.获取随机数
// 闭区间 0...5 取0-5这几个数
index1 = Int.random(in: 0...5)
index2 = Int.random(in: 0...5)
// 2.获取数组的某一个
// diceArray[index1]

// 3.摇骰子功能 command+R:运行
diceeImageView1.image = UIImage(named: diceArray[index1])
diceeImageView2.image = UIImage(named: diceArray[index2])
}
}

摇一摇功能

谷歌关键词:shake apple documentation

给出结果:motionEnded

image-20190305153208828

1
2
3
4
5
6
// 四、摇一摇功能
// 手势结束之后,要进行的行为 motionEnded
override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
// 更新骰子
updateDiceImage()
}

练习——占卜球

image-20190305164640770